package com.denlaku.longan.repository;

import com.denlaku.longan.anno.VarOp;
import com.denlaku.longan.dao.DataSetDao;
import com.denlaku.longan.qo.DataSetQuery;
import com.denlaku.longan.qo.Query;
import com.denlaku.longan.vo.DataSet;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author tianx
 */
@Repository
public class DataSetRepository {
    @Autowired
    private DataSetDao dataSetDao;

    /**
     * 新增数据集
     * @param dataSet 数据集
     * @return 新增记录数
     */
    @VarOp
    public int add(DataSet dataSet) {
        return dataSetDao.add(dataSet);
    }

    /**
     * 更新数据集
     * @param dataSet 数据集
     * @return 更新记录数
     */
    @VarOp
    public int update(DataSet dataSet) {
        return dataSetDao.update(dataSet);
    }

    /**
     * 删除数据集
     * @param query 数据集id
     * @return 删除记录数
     */
    public int delete(Query query) {
        return dataSetDao.delete(query);
    }

    /**
     * 查询数据集
     * @param query 查询参数
     * @return 数据集列表
     */
    public List<DataSet> list(DataSetQuery query) {
        return dataSetDao.list(query);
    }

    /**
     * 获取数据集id
     * @param query 数据集id
     * @return 数据集
     */
    public DataSet get(Query query) {
        return dataSetDao.get(query);
    }

    /**
     * 清理tag
     *
     * @param tenantId 租户ID
     * @param tagId 标签ID
     */
    public void clearTag(Long tenantId, Long tagId) {
        dataSetDao.clearTag(tenantId, tagId);
    }
}
